<!DOCTYPE html>
<html lang="en">
  <head>
    <meta charset="UTF-8" />
    <meta http-equiv="X-UA-Compatible" content="IE=edge" />
    <meta name="viewport" content="width=device-width, initial-scale=1.0" />
    <title>Document</title>
  </head>
  <body>
    <div class="box">我是boxdiv</div>
    <script>
      // 监听节点变化的内置类
      console.log(111);
      setTimeout(() => {
        console.log(333);
      });
      let box = document.querySelector(".box");
      let o = new MutationObserver(function () {
        // 属于改变了就会触发回调函数执行
        // 是一个异步的微任务回调
        console.log("属性改变了");
      });
      // 配置要监听的节点，以及需要监听的内容
      o.observe(box, {
        attributes: true, // 监听 box元素节点的属性 变化，一旦属性有改变就会触发回调函数的执行
      });
      // 改变元素的属性
      box.setAttribute("myattr", "val");
      console.log(222);
    </script>
  </body>
</html>
